# top-level files
set (file_root
	include/glare.d3d11.Prerequisites.h
)

# __CMake__ files
set (file_root___cmake__
	CMakeLists.txt
	glare.d3d11_src_files.cmake
	glare.d3d11_src_files.f4cmake
)

# Drawing files
set (file_root_drawing
	include/glare.d3d11.DrawContext.h
	src/glare.d3d11.DrawContext.cpp
)

# Drawing -> States files
set (file_root_drawing_states
	include/glare.d3d11.DrawStateFactory.h
	src/glare.d3d11.DrawStateFactory.cpp
)

# Drawing -> States -> Samplers files
set (file_root_drawing_states_samplers
	include/glare.d3d11.SamplerState.h
	src/glare.d3d11.SamplerState.cpp
)

# Driver files
set (file_root_driver
	include/glare.d3d11.Driver.h
	src/glare.d3d11.Driver.cpp
)

# Mappings files
set (file_root_mappings
	include/glare.d3d11.FormatMapping.h
)

# RenderTargets files
set (file_root_rendertargets
	include/glare.d3d11.RenderTarget.Interface.h
	include/glare.d3d11.RenderWindow.h
	src/glare.d3d11.RenderWindow.cpp
)

# Resources -> Base files
set (file_root_resources_base
	include/glare.d3d11.GpuResourceFactory.h
	src/glare.d3d11.GpuResourceFactory.cpp
)

# Resources -> GpuBuffers files
set (file_root_resources_gpubuffers
	include/glare.d3d11.GpuBuffer.h
	src/glare.d3d11.GpuBuffer.cpp
)

# Resources -> Textures files
set (file_root_resources_textures
	include/glare.d3d11.Texture.h
	src/glare.d3d11.Texture.cpp
)

# Resources -> Views files
set (file_root_resources_views
	include/glare.d3d11.ShaderResourceView.h
	src/glare.d3d11.ShaderResourceView.cpp
)

# Shaders -> Base files
set (file_root_shaders_base
	include/glare.d3d11.ShaderFactory.h
	include/glare.d3d11.ShaderInputDeclaration.h
	include/glare.d3d11.ShaderInterface.h
	src/glare.d3d11.ShaderFactory.cpp
	src/glare.d3d11.ShaderInputDeclaration.cpp
	src/glare.d3d11.ShaderInterface.cpp
)

# Shaders -> Types files
set (file_root_shaders_types
	include/glare.d3d11.PixelShader.h
	include/glare.d3d11.VertexShader.h
	src/glare.d3d11.PixelShader.cpp
	src/glare.d3d11.VertexShader.cpp
)

# the source groups
source_group(""                          FILES ${file_root})
source_group("__CMake__"                 FILES ${file_root___cmake__})
source_group("Drawing"                   FILES ${file_root_drawing})
source_group("Drawing\\States"           FILES ${file_root_drawing_states})
source_group("Drawing\\States\\Samplers" FILES ${file_root_drawing_states_samplers})
source_group("Driver"                    FILES ${file_root_driver})
source_group("Mappings"                  FILES ${file_root_mappings})
source_group("RenderTargets"             FILES ${file_root_rendertargets})
source_group("Resources\\Base"           FILES ${file_root_resources_base})
source_group("Resources\\GpuBuffers"     FILES ${file_root_resources_gpubuffers})
source_group("Resources\\Textures"       FILES ${file_root_resources_textures})
source_group("Resources\\Views"          FILES ${file_root_resources_views})
source_group("Shaders\\Base"             FILES ${file_root_shaders_base})
source_group("Shaders\\Types"            FILES ${file_root_shaders_types})

# append all files to the file_root
set (file_root
	${file_root}
	${file_root___cmake__}
	${file_root_drawing}
	${file_root_drawing_states}
	${file_root_drawing_states_samplers}
	${file_root_driver}
	${file_root_mappings}
	${file_root_rendertargets}
	${file_root_resources_base}
	${file_root_resources_gpubuffers}
	${file_root_resources_textures}
	${file_root_resources_views}
	${file_root_shaders_base}
	${file_root_shaders_types}
)
